home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Light ROM 1
/
LIGHT-ROM 1 (Amiga Library Services)(1994).iso
/
ffdisks
/
d970.lha
/
ADM
/
ARexx
/
ADMGeburtstag.adm
next >
Wrap
Text File
|
1993-10-18
|
3KB
|
94 lines
/* $VER: ADMGeburtstag.rexx 1.1 (18.10.93)
Sucht alle Einträge, bei denen in maximal "Tage" Tagen Geburtstag ist,
und zeigt diese per Requester an.
Ideal geeignet für den Tooltype/Shellparameter STARTUP.
Autoren:
von André Schenk
andre@melior.stgt.sub.org
2:2407/106.42@fidonet
erweitert von
Jan Geißler
jan@digit.stgt.sub.org
2:2407/106.5@fidonet
History:
V1.0 14.10.93 [as] - Erste Version
V1.1 18.10.93 [jan] - Ext. Programm "Request" durch RexxReqTools.lib ersetzt.
- DisplayBeep am Ende der Suche vermieden.
- Im Requester wird "heute, morgen, übermorgen" anstatt
des Datums angezeigt.
- Errechnet nun, wie alt derjenige wird.
*/
Tage = 7 /* 7 Tage vor Geburtstag warnen! */
OPTIONS RESULTS
CALL ADDLIB("rexxreqtools.library", 0, -30, 0)
NL = '0a'x
ADDRINMEM
Max = RESULT
ACTIVATEFIRST
Zeit = DATE("Internal") /* aktuelles Datum */
Datum = DATE("Days", Zeit, "Internal") /* vergangene Tage dieses Jahres */
Jahr = SUBSTR(DATE("Sorted", Zeit, "Internal"), 1, 4)
DO Index = 1 TO Max
GETADDRESS Datensatz
IF Datensatz.BIRTHDAY ~= "" THEN DO
Geburtsdatum = Datensatz.BIRTHDAY
Geburtsdatum = TRANSLATE(Geburtsdatum, "/", ".")
Geburtsdatum = TRANSLATE(Geburtsdatum, "/", "-")
Tag = SUBSTR(Geburtsdatum, 1, POS("/", Geburtsdatum) - 1)
IF LENGTH(Tag) = 1 THEN Tag = INSERT("0", Tag)
Monat = DELSTR(Geburtsdatum, POS("/", Geburtsdatum, 4))
Monat = SUBSTR(Monat, POS("/", Geburtsdatum) + 1)
GebJahr = SUBSTR(Geburtsdatum, POS("/", Geburtsdatum, 4))
IF LENGTH(GebJahr) > 2 THEN GebJahr = DELSTR(GebJahr,1,LENGTH(GebJahr)-2)
GebJahr= INSERT("19",GebJahr)
Alter = Jahr - GebJahr
IF LENGTH(Monat) = 1 THEN Monat = INSERT("0", Monat)
Geburtsdatum = Jahr || Monat || Tag
Geburtsdatum = DATE("Days", Geburtsdatum, "Sorted")
diff = Geburtsdatum - Datum
IF diff >= 0 & diff <= Tage THEN DO
SELECT
WHEN Datensatz.SALUTATION = "Herrn" THEN Anrede = "seinen"
WHEN Datensatz.SALUTATION = "Frau" THEN Anrede = "ihren"
OTHERWISE Anrede = "den"
END
SELECT
WHEN diff = 0 THEN Text = "HEUTE"
WHEN diff = 1 THEN Text = "morgen"
WHEN diff = 2 THEN Text = "übermorgen"
OTHERWISE Text = "am" Tag || "." || Monat || "."
END
Text = Datensatz.FIRSTNAME || " " || Datensatz.LASTNAME || " hat" Text || NL || Anrede Alter || ". Geburtstag!"
ans = RTEZREQUEST(Text,"_OK","ADMGeburtstag.rexx",,"rtez_defaultresponse=1")
/* ADDRESS COMMAND 'Run <NIL: >NIL: Request 'Text' TITLE = "ADMGeburtstag.rexx"' */
END
END
IF Index ~= Max THEN ACTIVATENEXT
END